#coding=utf-8

from flask import Blueprint,current_app,make_response, render_template

from flask_wtf.csrf import generate_csrf
# 创建访问静态文件的蓝图
html=Blueprint("html",__name__)



# 定义静态文件访问的路由,   ".*"代表可能有可能没有的任意字符
@html.route("/<re('.*'):file_name>")
def get_html_file(file_name):
    # 如果file_name没有值的话，就给他赋值index.html,让他直接访问静态页面。
    if not file_name:
        file_name="index.html"
    # 当去加载网站的logo的时候，其文件是放在static的目录下的,直接子级
    if file_name!="favicon.ico":
        # 拼接静态文件访问的路径
        file_name="html/"+file_name
    #1,生成csrf_token
    csrf_token=generate_csrf()

    #2,添加csrf_token到cookie当中
    response=make_response(current_app.send_static_file(file_name), csrf_token)
    # response=make_response(render_template(file_name, csrf_token=csrf_token))
    response.set_cookie("csrf_token",csrf_token)
        # 通过当前app去查找静态文件下的指定文件
    # return current_app.send_static_file(file_name)
    return response